Arquitetar concurrencia em Elixir vai além do simples lançamento de processos; exige uma metodologia rigorosa para alcançar 99,9999999% de confiabilidade (nove nove). Isso equivale a aproximadamente 1 segundo de indisponibilidade a cada 30 anos. Para atingir esse padrão, usamos o Framework das Cinco Perguntas.
O Heurística Estrutural
Antes de escrever uma única linha de código OTP, use estas perguntas para decompor problemas com estado em primitivas gerenciáveis:
- Ambiente e Restrições: É um único nó? Um cluster global? Quais são os limites de memória/IO?
- Pontos Focais: Onde os dados residem? Quem "detém" o estado (por exemplo, um livro de resultados)?
- Características de Execução: Quantas requisições concorrentes? São limitadas por CPU ou por IO?
- Proteção: Qual estado deve sobreviver? O que podemos permitir perder e reiniciar?
- Inicialização: Como inicializamos a árvore? Quais serviços dependem uns dos outros?
Tratando essas perguntas como restrições, você evita a concurrencia "Big Ball of Mud", onde cada processo se comunica com todos os outros sem hierarquias claras.
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>